package ui.maps {
	
	public interface IMaps {
		
		//销毁地图
		function destroy():void;
		
		//地图当前缩放级别
		function getZoom():Number;
		
		//地图当前缩放级别
		function setZoom(value:Number):void;
		
		//设置地图能否拖动
		function setDragEnabled(enable:Boolean):void;
		
		//设置覆盖物到合适的地图视野级别。
		function setFitview(overlays:Array):void;
		
		//清空地图的所有覆盖层
		function clearMap():void;
		
		//设置地图中心点和级别
		function centerMap(model:PointModel,level:Number=0,showTip:Boolean=false):void;
		
		//取得地图中心信息，包括经纬度，放大级别
		function getMapCenterInfo():Array;
		
		//在点 {lng,lat} 添加或移动 marker,如果有content，创建提示窗口，并自动打开，并返回当前的marker对象
		function addOrMoveMarker(lng:Number,lat:Number,markerId:String,content:String,iconName:String=null,label:String=null,draggable:Boolean=false,showTip:Boolean=false):Object;
		
		//在model上添加或移动marker,如果有content，创建提示窗口，并自动打开，并返回当前的marker对象
		function addOrMoveMarkerByModel(model:PointModel,iconName:String=null,draggable:Boolean=false,showTip:Boolean=false):Object;
		
		//在地图上画线，points＝[PointModel,PointModel...],返回线的对象
		function drawLine(points:Array,lineId:String,content:String=null,showIndex:Boolean=false):Object;
		
		//在地图上画矩形，point1为左上角点，point2为右下角点
		function drawRectangle(point1:PointModel,point2:PointModel,rectangleId,content:String=null):Object;

		//在地图上画封闭的多边形区域，points＝[PointModel,PointModel...],返回区域的对象
		function drawPolygon(points:Array,regionId:String,content:String=null):Object;
		
		//在地图上画圆，point为圆心；radius为半径，以米为单位,返回圆的对象
		function drawCircle(point:PointModel,radius:Number,circleId:String,content:String=null):Object;
		
		//如果点model在地图可视区域外，则地图将中心设置为点model
		function centerMapIfOutOfBounds(model:PointModel):void;
		
		//从地图中清除指定的对象
		function removeOverlayById(id:String):void;
		
		//地图的精简样式和复杂样式的切换
		function setSimpleStyle(ss:Boolean):void;
		
		//设置地图普通聚
		function setNormalCluster():void;
		
	}
}